package dao;

import com.google.inject.ImplementedBy;
import models.*;
import services.*;

import java.util.List;
import java.util.concurrent.CompletionStage;

@ImplementedBy(DeliveryPlan_Repository_JPA.class)
public interface DeliveryPlan_Repository {
    CompletionStage<List<DeliveryPlan_F_Entity>> getDeliPlanList (String BillNo);
    CompletionStage<List<Object>> createDeliPlan (String PhoneNumber,String LoadingSubNum, String DeliveryPlace
            , String WeigherCode, String Amount, String StartDate, String EndDate , String TransType , String ShipName
            , String UnloadPlace, String CustomerDept, String ConUser, String BatchCode, String DeliveryNo);
    CompletionStage<List<DeliveryPlan_T_Entity>> cancleDeliPlan (String PhoneNumber, String StartDate, String EndDate, String DeliveryNo, String LoadingSubNum);
    CompletionStage<List<DeliveryPlan_T_Entity>> editDeliPlan (String PhoneNumber, String Amount, String StartDate, String EndDate, String DeliveryNo, String LoadingSubNum);
    CompletionStage<XMLString_Entity> getDeliveryPlan ();
    CompletionStage<List<Object>> createDeliveryPlan (String PhoneNumber,String LoadingSubNum, String DeliveryPlace
            , String WeigherCode, String Amount, String StartDate, String EndDate , String TransType , String ShipName
            , String UnloadPlace, String CustomerDept, String ConUser, String BatchCode, String DeliveryNo, String DeliveryOrderNo);
    CompletionStage<XMLString_Entity> getDeliveryPlanPage(Integer RowId, Integer Length);
    CompletionStage<List<Object>> createDeliveryOrder (String PhoneNumber,Integer DeliveryPlanNo, String DeliveryOrderNo, String DeliveryPlace
            , String WeigherCode, String Amount, String StartDate, String EndDate , String TransType , String ShipName
            , String UnloadPlace, String CustomerDept, String ConUser, String BatchCode);
}
